home *** CD-ROM | disk | FTP | other *** search
/ PCGUIA 127 / PC Guia 127.iso / Software / Produtividade / OpenOffice.org 2.0.1 / openofficeorg4.cab / testcodec.py < prev    next >
Text File  |  2005-11-19  |  1KB  |  49 lines

  1. """ Test Codecs (used by test_charmapcodec)
  2.  
  3. Written by Marc-Andre Lemburg (mal@lemburg.com).
  4.  
  5. (c) Copyright 2000 Guido van Rossum.
  6.  
  7. """#"
  8. import codecs
  9.  
  10. ### Codec APIs
  11.  
  12. class Codec(codecs.Codec):
  13.  
  14.     def encode(self,input,errors='strict'):
  15.  
  16.         return codecs.charmap_encode(input,errors,encoding_map)
  17.  
  18.     def decode(self,input,errors='strict'):
  19.  
  20.         return codecs.charmap_decode(input,errors,decoding_map)
  21.  
  22. class StreamWriter(Codec,codecs.StreamWriter):
  23.     pass
  24.  
  25. class StreamReader(Codec,codecs.StreamReader):
  26.     pass
  27.  
  28. ### encodings module API
  29.  
  30. def getregentry():
  31.  
  32.     return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
  33.  
  34. ### Decoding Map
  35.  
  36. decoding_map = codecs.make_identity_dict(range(256))
  37. decoding_map.update({
  38.         0x78: u"abc", # 1-n decoding mapping
  39.         "abc": 0x0078,# 1-n encoding mapping
  40.         0x01: None,   # decoding mapping to <undefined>
  41.         0x79: u"",    # decoding mapping to <remove character>
  42. })
  43.  
  44. ### Encoding Map
  45.  
  46. encoding_map = {}
  47. for k,v in decoding_map.items():
  48.     encoding_map[v] = k
  49.